# sortBy:对RDD数据进行排序，基于你指定的排序依据。
# rdd.sortBy(func, ascending= False, numPartitions=1)
# func:(T) -> U:告知按照rdd中的哪个数据进行排序
# ascending True升序 False降序
# numPartitions:用多少分区排序
from pyspark import SparkConf, SparkContext
import os
os.environ['PYSPARK_PYTHON'] = r"C:\Users\admin\AppData\Local\Programs\Python\Python38\python.exe"
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf=conf)
# 准备一个RDD
rdd = sc.parallelize([('itcast', 4), ('python', 6), ('spark', 4), ('itheima', 7), ('pyspark', 3)])
# 对结果进行排序
rdd2 = rdd.sortBy(lambda x: x[1], ascending=False, numPartitions=1)
print(rdd2.collect())